package com.fowo.api.model.payable;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import javax.validation.constraints.*;
import lombok.Data;

/**
 * 应付单商品列表 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Data
public class PayableProductImportPo {

  /** 所属应付单 */
  @ExcelProperty("所属应付单")
  @Size(max = 50, message = "所属应付单长度不能超过50")
  private String parentPayableSupplierName;

  /** 商品 */
  @ExcelProperty("*商品")
  @NotBlank(message = "商品不能为空")
  @Size(max = 500, message = "商品长度不能超过500")
  private String productIdName;

  /** 商品名称 */
  @ExcelProperty("商品名称")
  @Size(max = 500, message = "商品名称长度不能超过500")
  private String name;

  /** SKU */
  @ExcelProperty("SKU")
  @Size(max = 50, message = "SKU长度不能超过50")
  private String sku;

  /** 计价数量 */
  @ExcelProperty("计价数量")
  @IntegerString(message = "计价数量数值格式不正确", label = "计价数量")
  private String num;

  /** 价格 */
  @ExcelProperty("价格")
  @DecimalString(message = "价格小数格式不正确", label = "价格")
  private String price;

  /** 主材料单价 */
  @ExcelProperty("主材料单价")
  @DecimalString(message = "主材料单价小数格式不正确", label = "主材料单价")
  private String mainUnitPrice;

  /** 主材料克重 */
  @ExcelProperty("主材料克重")
  @DecimalString(message = "主材料克重小数格式不正确", label = "主材料克重")
  private String gramWeight;

  /** 工费 */
  @ExcelProperty("工费")
  @DecimalString(message = "工费小数格式不正确", label = "工费")
  private String laborCosts;

  /** 含税价格 */
  @ExcelProperty("含税价格")
  @DecimalString(message = "含税价格小数格式不正确", label = "含税价格")
  private String priceTax;

  /** 小计 */
  @ExcelProperty("小计")
  @DecimalString(message = "小计小数格式不正确", label = "小计")
  private String subtotal;
}
